package logicaNegocio;

import java.io.Serializable;
import java.sql.SQLException;
import java.util.ArrayList;
import logicaDatos.GestorBD;


public class Clientes implements Serializable{ 
	
	/**
	 * 
	 */
	private static final long serialVersionUID = -3195818370163114130L;
	public Cliente ClAct; //Cliente conectado actualmente
	public ArrayList <Cliente> ListaCl;
	GestorBD dc= new GestorBD();
	
	public Clientes() throws SQLException, ClassNotFoundException 
	{
		ClAct=null;
	}
	
	public void crearCl(String nombre,String apellido,String usuario,String contrasenia)
	{
		Cliente c;
		try {
			c = new Cliente( nombre, apellido, usuario, contrasenia);
			
			dc.addCliente(c);
			
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	
	public int comprobarUsuario (String usu)
	{ 
		int aux=0;
		for (int i=0;i<getClientesList().size();i++)
		{
			if (usu.equals(((Cliente)getClientesList().get(i)).getUsuario()))
			{
				aux=1; //hay un usuario ya exitente con este nombre de usuario
				
				
			}
			
		}
		return aux;
	}
	

	
	public ArrayList<Cliente> getClientesList() 
	{
		ListaCl= new ArrayList<Cliente>();
		ListaCl=dc.listaCl();
		return ListaCl;
		
	}
	
	public void logOut ()
	{
		ClAct=null;
	}
	
	public void setCliente (Cliente cliente)
	{
		ClAct=cliente;
	}
	
	public Cliente getActual ()
	{
		return ClAct;
	}
	
	public ArrayList<Articulo> getB()
	{
		
		return this.ClAct.getBolsa();
	}
	
	public double getP()
	{
		return this.ClAct.pago();
	}
	
	public void borrar(int y)
	{
		Cliente c= this.getActual();
		c.borrarArticulo(y);
	}
	
	
	
	public void borrarCliente (Cliente c) throws SQLException, ClassNotFoundException
	{
		boolean seguir=true;
		
		if(seguir==true)
		{	for (int i=0;i<getClientesList().size();i++)
			{
				String nombreABorrar = c.getNombre();
				Cliente cli = getClientesList().get(i);
				String nombre = cli.getNombre();
				
				if(nombre.equals(nombreABorrar))
				{
					GestorBD dc= new GestorBD();
					dc.deleteCliente(cli);	
					seguir=false;
				}
			}
		}
	}

}
